#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//	FILE* pf = fopen("data.txt", "r");//打开一个文件
//	if (NULL == pf)//打开是否成功判断
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	int i = 0;
//	for (i = 0; i < 26; i++)//将字母表的内容全部读取出来
//	{
//		int ch = fgetc(pf);//用fgetc函数，从文件data.txt里读取一个字符
//		printf("%c", ch);//打印出读取到的字符
//	}
//	fclose(pf);//关闭文件
//	pf = NULL;//文件指针置空
//
//
//	return 0;
//}
//int main()
//{
//	FILE* pf = fopen("data.txt", "r");//打开一个文件
//	if (NULL == pf)//打开是否成功判断
//	{
//		perror("fopen");
//		return 1;
//	}
//	char str[10] = { 0 };
//
//	fgets(str, 100, pf);
//	printf("%s", str);
//
//	fclose(pf);//关闭文件
//	pf = NULL;//文件指针置空
//
//
//	return 0;
//}
//struct S
//{
//	int a;
//	float s;
//};


//int main()
//{
//	FILE* pf = fopen("data.txt", "w");
//	if (NULL == pf)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//写文件
//	struct S s = { 100, 3.14f };
//	fprintf(pf, "%d %f", s.a, s.s);
//
//	//关闭文件
//	fclose(pf);
//	pf = NULL;
//
//	return 0;
//}
//struct S
//{
//	int a;
//	float s;
//};
//
//int main()
//{
//	FILE* pf = fopen("data.txt", "w");//打开一个文件
//	if (NULL == pf)//打开是否成功判断
//	{
//		perror("fopen");
//		return 1;
//	}
//	char str[10] = { 0 };
//
//	struct S s = { 100, 3.14f };
//	fprintf(pf, "%d %f", s.a, s.s);
//
//	fclose(pf);//关闭文件
//	pf = NULL;//文件指针置空
//
//
//	return 0;
//}
//struct S
//{
//	int a;
//	float s;
//};
//
//int main()
//{
//	FILE* pf = fopen("data.txt", "r");//打开一个文件
//	if (NULL == pf)//打开是否成功判断
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	struct S s = { 0 };
//	fscanf(pf, "%d %f", &(s.a), &(s.s));
//
//	fprintf(stdout, "%d %f", s.a, s.s);
//
//
//	fclose(pf);//关闭文件
//	pf = NULL;//文件指针置空
//
//	return 0;
//}
//struct S
//{
//	int a;
//	float s;
//	char str[10];
//};
//
//int main()
//{
//	struct S s = { 99, 6.18f, "bit" };
//
//	FILE* pf = fopen("data.txt", "wb");//打开一个文件
//	if (pf == NULL)//打开是否成功判断
//	{
//		perror("fopen");
//		return 1;
//	}
//	//写文件
//	fwrite(&s, sizeof(struct S), 1, pf);
//	//从 s 中向 pf 中写入 1 个大小为 sizeof(struct S) 的数据
//
//	fclose(pf);//关闭文件
//	pf = NULL;//文件指针置空
//
//	return 0;
//}
struct S
{
	int a;
	float s;
	char str[10];
};

int main()
{
	struct S s = { 0 };

	FILE* pf = fopen("data.txt", "rb");//打开一个文件
	if (pf == NULL)//打开是否成功判断
	{
		perror("fopen");
		return 1;
	}
	//读文件
	fread(&s, sizeof(struct S), 1, pf);
	//从 pf 中读取 1 个大小为 sizeof(struct S) 的数据，放进 s 中
	printf("%d %f %s\n", s.a, s.s, s.str);

	fclose(pf);//关闭文件
	pf = NULL;//文件指针置空

	return 0;
}
